﻿using UnityEngine;
using System.Collections;
using System;

public abstract class BaseAds<T> where T:new()
{
	
	static T instance;
	
	public static T GetInstance ()
	{
		if (instance == null) {
			instance = new T ();
		}
		return instance;
	}
	
	
	public abstract void Init (params string[] key);
	
	#region  展示banner 视屏 插屏
	
	public abstract void PlayBanner (bool show);
	
	public abstract void ShowIncentVideo (Action ac = null);
	
	public abstract void ShowInterVideo (Action ac = null);
	
	public abstract void ShowInterstitial ();
	
	public abstract void ShowRewardedInterstitial ();
	
	#endregion
	
	#region 获取视频和插屏
	
	public abstract void GetIncentivizedVideo ();
	
	public abstract void GetInterstitial ();
	
	#endregion
	
	#region 判断视频和插屏是否加载好
	
	public abstract bool IsIncentivizedAvailable ();
	
	public abstract bool IsInterstitialAvailable ();
	
	#endregion
	
	public abstract void  AdsCallback (string ev);
}
